﻿Public Partial Class ListadoClases
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            Dim dtbPeriodos As DataTable
            Dim dtbTurnos As DataTable
            If Not Page.IsPostBack() Then
                cConsultas.Rellenar_DDLTodosCursos_SinNulos(DDLCurso)
                If Not cConsultas.Obtener_Periodos(dtbPeriodos) Then Throw New Exception()
                DDLPeriodo.DataSource = dtbPeriodos
                DDLPeriodo.DataTextField = "DESCRIPCION_PERIODO"
                DDLPeriodo.DataValueField = "CODIGO_PERIODO"
                DDLPeriodo.DataBind()
                If Not cConsultas.Obtener_Turnos(dtbTurnos) Then Throw New Exception()
                DDLTurno.DataSource = dtbTurnos
                DDLTurno.DataTextField = "DESCRIPCION_TURNO"
                DDLTurno.DataValueField = "CODIGO_TURNO"
                DDLTurno.DataBind()

            End If
            recargar_DDLVersion()
            Dim horario As New List(Of cHorario)
            If Not cConsultas.Obtener_Horario(DDLVersion.SelectedValue, horario) Then Throw New Exception()
            Dim informe As New HorarioClases()
            
            informe.SetDataSource(horario)
            CrystalReportViewer1.ReportSource = informe
            CrystalReportSource1.ReportDocument.SetDataSource(horario)
            CrystalReportViewer1.DataBind()
        Catch ex As Exception

        End Try
       
    End Sub
    Private Sub recargar_DDLVersion()

        Dim fecha As Date
        Dim dtbDatos As DataTable
        Try
            'Si no hay ninguna fecha escrita, se pone el lunes de la semana actual
            If String.IsNullOrEmpty(txtFecha.Text) Then
                fecha = Comun.fecha_lunes_semana(Today)
            Else
                fecha = Comun.fecha_lunes_semana(Convert.ToDateTime(txtFecha.Text))
            End If


            Dim parametros(4) As SqlClient.SqlParameter
            parametros(0) = New SqlClient.SqlParameter("CURSO_ACADEMICO", SqlDbType.NVarChar, 4)
            parametros(0).Value = DDLCurso.SelectedValue
            parametros(1) = New SqlClient.SqlParameter("FECHA", SqlDbType.SmallDateTime)
            parametros(1).Value = fecha
            parametros(2) = New SqlClient.SqlParameter("CODIGO_PERIODO", SqlDbType.NVarChar, 2)
            parametros(2).Value = DDLPeriodo.SelectedValue
            parametros(3) = New SqlClient.SqlParameter("CODIGO_TIPO", SqlDbType.NVarChar, 2)
            parametros(3).Value = DDLTipoHorario.SelectedValue
            'CODIGO_TIPO_CLASE
            parametros(4) = New SqlClient.SqlParameter("CODIGO_TIPO_CLASE", SqlDbType.NVarChar, 2)
            parametros(4).Value = "TE"
            If Not cConsultas.Obtener_Versiones(dtbDatos, parametros) Then Throw New Exception("Error al obtener las versiones")
            DDLVersion.DataSource = dtbDatos
            DDLVersion.DataTextField = "Numero_Version"
            DDLVersion.DataValueField = "Codigo_Horario"
            DDLVersion.DataBind()
        Catch ex As Exception
           
        End Try
    End Sub

    Protected Sub DDLTurno_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DDLTurno.SelectedIndexChanged
        recargar_DDLVersion()
    End Sub
End Class